这是一个算法,是我在做热敏打印机打印小票时解决的一个问题,想了想还是分享给大家,或许多大家有些许帮助。
在打印小票时,可能遇到一些字符串长度过长的问题,但是你不能直接截取,所以需要自动换行来显示全部名称。经过分析,其实是这么一个问题:需要把字符串分行,使得每行不得超过最大长度,最后一行长度为指定的最小长度,长度不够,用空格补齐。
先给出一个简单的效果示例图:
具体的算法源码:
#Region "把字符串按指定最大长度分行,使得最后一行长度为指定的最低长度"
''' <summary>
''' 处理字符串自动换行问题。最短为intLenMin,最长为intLenMax,最后一行用空格补齐到intLenMin长度。
''' </summary>
''' <param name="strOldText">原字符串</param>
''